﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

namespace Swoosh.Contracts.MediaPlayerLib
{


    public interface IPlaybackDevice
    {
        string Name { get; set; }
        string StorageName { get; set; }

        Storage Storage { get; }

        Playlist Playlist { get; }
        
        bool LoadConfiguration(string Configuration);
        
        /// <summary>
        /// This Fuction is called after LoadConfiguration. It can be used to establish a connection to the Player API.
        /// </summary>
        /// <returns></returns>
        bool Start();

        /// <summary>
        /// This Fuction is called before the Application terminates.
        /// </summary>
        /// <returns></returns>
        bool Stop();
        
        bool ClearPlaylist();
        bool QueuePlaylistItem(PlaylistItem Item);
        bool PlayPlaylistItem(PlaylistItem Item);
        Playlist ReadPlayList();
        bool StopPlayback();
    }


}
